package com.whfc.fse.service;

import com.whfc.common.exception.BizException;
import com.whfc.common.result.ListData;
import com.whfc.common.result.PageData;
import com.whfc.fse.dto.*;
import com.whfc.fse.entity.FseCraneRecord;
import com.whfc.fse.entity.FseLiftRecord;

import java.util.Date;

/**
 * @DESCRIPTION 吊装记录
 * @AUTHOR GuoDong_Sun
 * @DATE 2020/4/9
 */
public interface FseRecordService {
    /**
     * 吊装记录列表
     *
     * @param deptId
     * @param pageNum
     * @param pageSize
     * @param startTime
     * @param endTime
     * @param keyword
     * @return
     * @throws BizException
     */
    PageData<FseCraneRecordDTO> craneRecordList(Integer deptId, Integer pageNum, Integer pageSize, Date startTime, Date endTime, String keyword) throws BizException;


    /**
     * 吊装记录列表
     *
     * @param sn
     * @param startTime
     * @param endTime
     * @return
     * @throws BizException
     */
    ListData<OpenApiFseCraneRecordDTO> craneRecordList(String sn, Date startTime, Date endTime) throws BizException;


    /**
     * 升降机记录列表
     *
     * @param deptId    组织机构ID
     * @param pageNum   页码
     * @param pageSize  每页数量
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @param keyword   搜索关键字
     * @return 升降机记录列表
     * @throws BizException
     */
    PageData<FseLiftRecordDTO> liftRecordList(Integer deptId, Integer pageNum, Integer pageSize, Date startTime, Date endTime, String keyword) throws BizException;

    /**
     * 升降机记录列表
     *
     * @param sn
     * @param startTime
     * @param endTime
     * @return
     * @throws BizException
     */
    ListData<OpenApiFseLiftRecordDTO> liftRecordList(String sn, Date startTime, Date endTime) throws BizException;


    /**
     * 统计升降纪录次数
     *
     * @param liftId    升降机ID
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @return 升降次数统计
     */
    FseLiftRecordCountDTO recordCount(Integer liftId, Date startTime, Date endTime) throws BizException;
}
